<?php
/**
*
* ShopWindow Toolset
*
* Copyright (C) 2008 Digital Window Ltd.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*
*/

require_once(HOME_PATH.'classes'.DIRECTORY_SEPARATOR.'class.shopcore.php');
require_once(HOME_PATH.'classes'.DIRECTORY_SEPARATOR.'class.smarty_sw.php');


// init ShopCore
if ( !is_object($oShopCore) ) {
	$oShopCore = new shopcore();
}

// init Smarty
if ( !is_object($oSmarty) ) {
	$oSmarty = new smarty_sw();
}


// load env vars into params obj
$oShopCore->syncApiParams($oSearchBoxParams);


# get CategoryTree
$aTreeCategories = $oShopCore->oApiCategoryTree->getCategoryTree($oSearchBoxParams);


# SELECT box
$aDropDown = array();

if ( VERTICAL_CATEGORY_ID < 1 ) {
	$aDropDown['4-0'] = 'All Categories';
	$aDropDown[] = '&nbsp;';
}


// add the main categories
foreach ($aTreeCategories->aChildren as $oParentCategory) {
	// parent
	$sName  = '';
	$sName .= $oParentCategory->iId == $oShopCore->oCategory->iId ? '&raquo; ' : ' ';
	$aDropDown['4-'.$oParentCategory->iId] = $sName.$oParentCategory->sName;
	
	if ( $oParentCategory->iId == $aTreeCategories->iActiveNode ) {
		
	    if (isset($oParentCategory->oCategoryTree)) {
    		foreach ($oParentCategory->oCategoryTree->aChildren as $oChildCategory) {
    			if ( is_object($oChildCategory) ) {
    				// child
    				$sName  = '&nbsp;&nbsp;';
    				$sName .= $oChildCategory->iId == $oShopCore->oCategory->iId ? '&raquo; ' : '&nbsp;&nbsp; ';
    				$aDropDown['4-'.$oChildCategory->iId] = $sName.$oChildCategory->sName;
    				
    				if ( $oChildCategory->iId == $oParentCategory->oCategoryTree->iActiveNode &&
    					isset( $oChildCategory->oCategoryTree->aChildren ) ) {
    					
    					foreach ($oChildCategory->oCategoryTree->aChildren as $oGrandChildCategory) {
    						if ( is_object($oGrandChildCategory) ) {
    							//grand child
    							$sName  = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
    							$sName .= $oGrandChildCategory->iId == $oShopCore->oCategory->iId ? '&raquo; ' : ' ';
    							$aDropDown['4-'.$oGrandChildCategory->iId] = $sName.$oGrandChildCategory->sName;
    						}
    					}
    				}
    			}
    		}
	    }
	}
}

# SMARTY ASSIGN
$oSmarty->assign('sSearchTerm', htmlspecialchars($oShopCore->sQuery) );
$oSmarty->assign('sOptionSelected', '4-'.$oShopCore->oCategory->iId);
$oSmarty->assign('aTreeCategories', $aDropDown);

?>